package atomic.counter;

import java.util.concurrent.atomic.LongAdder;

/**
 * 使用LongAdder
 *
 * @author <a href='https://gitee.com/hzf2281'>codefish</a>
 * @version 1.0.0
 * @since 2022/08/21 下午 07:13
 */
public class LongAdderCounter implements Counter {
    //LongAdder是JDK 1.8版本提供的原子操作增强类
    //相比于AtomicLong，自旋的次数显著减少
    final LongAdder longAdder = new LongAdder();

    @Override
    public void increment() {
        longAdder.increment();
    }

    @Override
    public long getCount() {
        return longAdder.sum();
    }
}
